package org.hive.vmware.client.service;

import java.util.List;

import org.hive.vmware.client.model.VmCenterServerTreeFolder;
import org.hive.vmware.client.model.VmCenterServerVO;
import org.hive.vmware.client.model.VmGroupingVO;
import org.hive.vmware.client.model.VmVO;

import com.google.gwt.user.client.rpc.AsyncCallback;


/**
 * The async counterpart of <code>VmwareService</code>.
 */
public interface VmwareServiceAsync {

	void loadVmCenterServers(
			AsyncCallback<List<VmCenterServerVO>> callback);

	void saveVmCenterServers(List<VmCenterServerVO> vmCenterServerVOs,
			AsyncCallback<Boolean> callback);

	void loadVmCenterFolder(AsyncCallback<VmCenterServerTreeFolder> callback);
	
	void loadVmGrouping(AsyncCallback<VmGroupingVO> callback);

	void saveVmGrouping(VmGroupingVO group, AsyncCallback<Boolean> callback);

	void revertVms(List<VmVO> vms, AsyncCallback<Boolean> callback);
	
	
}
